package com.atguigu.commonutils;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;

public class ExceptionUtil {

    public static String getMessage(Exception e) {
        StringWriter sw=null;
        PrintWriter pw=null;
        try {
            sw=new StringWriter();
            pw=new PrintWriter(sw);
            //将出错的信息输出到PrintWriter中
            e.printStackTrace(pw);
            //flush方法是强制缓冲区中输出流输出，为什么？因为主机将输出流输出到缓冲区
            // ，但是缓冲区没有满一直等待主机的输入，就强制缓冲区将输出流输出到文件，这个方法可以用于清空缓冲区
            pw.flush();
            sw.flush();
        }finally {
            //流就必须关闭
            if (sw!=null){
                try {
                    sw.close();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
            if (pw!=null){
                pw.close();
            }
        }
        return sw.toString();
    }


}
